using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Boa.HD.AccesoDatos.Entidades;
using Boa.HD.Negocios;
using Boa.HD.Negocios.Servicios;
using Didsoft.Mvc.DataModel;
using Didsoft.Mvc.Controller;
using Didsoft.Mvc.DataModel.Lites;

namespace Boa.HD.Web.Controllers
{
    public class HD_SeveridadController : BaseController<HD_Severidad>
    {
	    #region interface servicios HD_Severidad

		private IHD_SeveridadNegociosServicio servicio = null;

		#endregion
		
		
		#region constructor and overridable

        public HD_SeveridadController()
        {
		    servicio = new HD_SeveridadNegocios();
            base.SetDataModelService(servicio);            
        }
		        

		#region overrided methods
        public override void PreCreate(dynamic ViewBag)
        {
             ViewBag.HD_DefinicionProblemas=new HD_DefinicionProblemaNegocios().ObtenerTodas();
             ViewBag.HD_PrioridadTecnicas=new HD_PrioridadTecnicaNegocios().ObtenerTodas();

        }
        public override void PreEdit(dynamic ViewBag)
        {
             ViewBag.HD_DefinicionProblemas=new HD_DefinicionProblemaNegocios().ObtenerTodas();
             ViewBag.HD_PrioridadTecnicas=new HD_PrioridadTecnicaNegocios().ObtenerTodas();

        }
        #endregion


		#endregion

		#region	actions

		[HttpGet]
		public override ActionResult Index()
        {
            return RedirectToAction("FilterList");
        }

		#endregion


        [HttpPost]
        public JsonResult JSONBOACargos()
        {
            try
            {
                BOAPersonalNegocios boaNegocios = new BOAPersonalNegocios();

                List<KeyValueLite> datas = new List<KeyValueLite>();

                datas = boaNegocios.GetBOACargos().Select(c =>
                       new KeyValueLite
                       {
                           DisplayText = c.Nombre,
                           Value = c.CargoId.ToString(),
                       }).ToList();                
                return Json(new { Result = "OK", Options = datas });
            }
            catch (Exception ex)
            {
                return Json(new { Result = "ERROR", Message = ex.Message });
            }
        }

    }
}

